home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Moscow ML 1.31 / source code / mosml / src / config / auto-aux / dblalign.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-03  |  502 b   |  38 lines  |  [TEXT/R*ch]

  1. #include <stdio.h>
  2. #include <signal.h>
  3. #include <setjmp.h>
  4.  
  5. double foo;
  6.  
  7. void access_double(p)
  8.      double * p;
  9. {
  10.   foo = *p;
  11. }
  12.  
  13. jmp_buf failure;
  14.  
  15. void sig_handler()
  16. {
  17.   longjmp(failure, 1);
  18. }
  19.  
  20. main()
  21. {
  22.   long n[10];
  23.   int res;
  24.   signal(SIGSEGV, sig_handler);
  25.   signal(SIGBUS, sig_handler);
  26.   if(setjmp(failure) == 0) {
  27.     access_double((double *) n);
  28.     access_double((double *) (n+1));
  29.     res = 0;
  30.   } else {
  31.     res = 1;
  32.   }
  33.   signal(SIGSEGV, SIG_DFL);
  34.   signal(SIGBUS, SIG_DFL);
  35.   exit(res);
  36. }
  37.  
  38.